const router = require("express").Router();
const upload = require("../common/search/index"); // 确保这是 multer 的实例
const ImgModel = require("../model/searchPhotos"); // 确保这是您的模型
const imgModel = new ImgModel(); // 实例化模型

// 上传图片
// 地址：/api/search/upload
// 方式：POST
// 参数： imgurl
// 响应数据格式: json格式
// 示例： http://localhost:4000/api/search/upload
router.post("/upload", upload.array("imgUrls"), async (req, res) => {
  // console.log(req.body); // 打印请求体
  // console.log(req.files); // 打印接收到的文件
  // 处理上传的文件
  if (!req.files || req.files.length === 0) {
    return res
      .status(400)
      .json({ code: -1, msg: "上传文件失败，请检查后再提交" });
  }

  const picUrls = req.files.map((file) => `/static/search/${file.filename}`);
  const name = req.body.name;

  try {
    const result = await imgModel.imgs(name, picUrls);
    res.json(result);
  } catch (error) {
    console.error("发生错误:", error);
    res
      .status(500)
      .json({ code: -1, msg: "服务器发生错误", error: error.message });
  }
});

// photo_list
// 图片列表
// 地址：/api/search/imgs_list
// 方式：GET
// 参数：
// 响应数据格式: json格式
// 示例： http://localhost:4000/api/search/imgs_list
router.get("/imgs_list", async (req, res) => {
  // console.log(req.body)
  await imgModel.imgs_list().then(
    (data) => {
      // 响应数据给前端
      res.send(data);
    },
    (err) => {
      res.send(err);
    }
  );
});

// 删除考试分类名称
// 地址：http://127.0.0.1:4000/api/search/remove
// 请求：GET (可以在浏览器地址栏测试)
// 参数：name
// 示例：http://127.0.0.1:4000/api/search/remove
// 响应数据格式: json格式
router.get('/remove', async (req, res) => {
    let name = req.query.name;
    // console.log(name)
    if(name){
        await imgModel.removedata(name)
        .then(
            data => {
                // 响应数据给前端
                res.send(data)
            },
            err => {
                res.send(err);
            }
        )
    }
    else {
        // 提示缺少参数
        res.send({
            code: -1,
            msg: "缺少参数，请检查后再提交"
        })
    }
})

module.exports = router; // 确保导出路由
